package com.alstudio.utils.android.imageProcess;

/**
 * 本類封裝圖片裁剪的配置項。目前可配置的選項有：圖片高度、寬度、是否需要裁剪、圖片保存路徑、是否跳轉介面由用戶手動裁剪圖片。
 * @author Alonso Lee
 *
 */
public class ALImageProcessParams {

	// 缺省图片宽度
	private final int DEFAULT_IMAGE_WIDTH = 480;
	// 缺省图片高度
	private final int DEFAULT_IMAGE_HEIGHT = 480;
	// 裁剪图片请求标志位，缺省为需要裁剪
	private boolean cropRequest = true;
	// 显示裁剪
	private boolean explicitCrop = true;
	// 图片路径
	private String imagePath;
	// 图片保存路径
	private String savePath;
	private int requestWidth = DEFAULT_IMAGE_WIDTH;
	private int requestHeight = DEFAULT_IMAGE_HEIGHT;

	/**
	 * 设置是否需要用户手动裁剪图片
	 * 
	 * @param explicitCrop
	 */
	public void setExplicitCrop(boolean explicitCrop) {
		this.explicitCrop = explicitCrop;
	}

	/**
	 * 检测是否需要用户手动裁剪图片
	 * 
	 * @return
	 */
	public boolean isExplicitCrop() {
		return this.explicitCrop;
	}

	/**
	 * 设置图片路径
	 * 
	 * @param path
	 */
	public void setImagePath(String path) {
		this.imagePath = path;
	}

	/**
	 * 获取图片保存路径
	 * 
	 * @return
	 */
	public String getImagePath() {
		return this.imagePath;
	}

	/**
	 * 设置裁剪图片请求
	 * 
	 * @param cropRequest
	 *            true 需要裁剪图片 
	 *            false 不需要裁剪图片
	 */
	public void setCropRequest(boolean cropRequest) {
		this.cropRequest = cropRequest;
	}

	/**
	 * 检测是否需要裁剪图片
	 * @return
	 */
	public boolean isCropRequested() {
		return this.cropRequest;
	}

	/**
	 * 设置图片保存地址
	 * @param path
	 */
	public void setSavePath(String path) {
		this.savePath = path;
	}

	/**
	 * 获取图片保存地址
	 * @return
	 */
	public String getSavePath() {
		return this.savePath;
	}

	public void setRequestWidth(int w) {
		this.requestWidth = w;
	}

	public int getRequestWidth() {
		return this.requestWidth;
	}

	public void setRequestHeight(int h) {
		this.requestHeight = h;
	}

	public int getRequestHeight() {
		return this.requestHeight;
	}
}
